/* @autor ihssan
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Interfaz;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import java.lang.String;
import Controladores.ControladorEquipo;
import GestorEquipos.Entrena;
import GestorEquipos.Equipo;
import GestorEquipos.Juega;
import GestorJugadores.Jugador;
import GestorJugadores.JugadorBD;
import GestorUsuarios.Entrenador;
import GestorUsuarios.Usuario;
import java.awt.BorderLayout;
import java.util.ArrayList;

/**
 *
 * @author ihssan
 */
public class InterfazEquipo extends javax.swing.JPanel {
    
    private static int filas = 2;
    private static InterfazEquipo instancia = null;
    
    /**
     * Creates new form InterfazEquipo
     */
    public InterfazEquipo() {
        initComponents();
        grupo_botones.add(jRadioButton1);
        grupo_botones.add(jRadioButton2);
        grupo_botones_estado.add(boton_estado_1);
        grupo_botones_estado.add(boton_estado_2);                  
        jScrollPane1.setVisible(false);     
        jPanel2.setVisible(false);
        
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jFrame1 = new javax.swing.JFrame();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTable2 = new javax.swing.JTable();
        jScrollPane4 = new javax.swing.JScrollPane();
        jList1 = new javax.swing.JList();
        Boton_Agregar = new javax.swing.JButton();
        Boton_Quitar = new javax.swing.JButton();
        Boton_Cancel = new javax.swing.JButton();
        grupo_botones = new javax.swing.ButtonGroup();
        grupo_botones_estado = new javax.swing.ButtonGroup();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        nombreEquipo = new javax.swing.JLabel();
        texto_NombreEquipo = new javax.swing.JTextField();
        texto_NombreEquipo.setEditable(false);
        generoEquipo = new javax.swing.JLabel();
        jRadioButton1 = new javax.swing.JRadioButton();
        jRadioButton2 = new javax.swing.JRadioButton();
        categoria = new javax.swing.JLabel();
        categoriaEquipo = new javax.swing.JComboBox();
        textoExito = new javax.swing.JLabel();
        estadoEquipo = new javax.swing.JLabel();
        boton_estado_1 = new javax.swing.JRadioButton();
        boton_estado_2 = new javax.swing.JRadioButton();
        Boton_Anadir = new javax.swing.JButton();
        Boton_Cancelar = new javax.swing.JButton();
        Boton_Anadir_Jugador = new javax.swing.JButton();
        Boton_Introducir_Equipo = new javax.swing.JButton();
        Boton_Consultar_Equipo = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        tabla_equipos = new javax.swing.JTable();
        Boton_Modificar_Equipo = new javax.swing.JButton();
        label_genero = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTable_Ent = new javax.swing.JTable();
        Boton_Añadir_Ent_Pri = new javax.swing.JButton();
        Boton_Añadir_Ent_Seg = new javax.swing.JButton();
        Ent_Prin = new javax.swing.JTextField();
        Ent_Seg = new javax.swing.JTextField();
        Boton_Eliminar_Pri = new javax.swing.JButton();
        Boton_Eliminar_Seg = new javax.swing.JButton();
        Boton_Anadir_Entrenador = new javax.swing.JToggleButton();
        jPanel3 = new javax.swing.JPanel();
        tabla_aptos = new javax.swing.JScrollPane();
        jTable_Aptos = new javax.swing.JTable();
        Añadir = new javax.swing.JButton();
        Quitar = new javax.swing.JButton();
        tabla_equipo = new javax.swing.JScrollPane();
        jTable_Asignados = new javax.swing.JTable();
        Dorsal = new javax.swing.JComboBox();

        jFrame1.setTitle("Añadir Jugador");
        jFrame1.setBounds(new java.awt.Rectangle(0, 0, 100, 100));

        jTable2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null},
                {null, null}
            },
            new String [] {
                "Jugador", "Dorsal"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Object.class, java.lang.Integer.class
            };
            boolean[] canEdit = new boolean [] {
                false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane2.setViewportView(jTable2);
        jTable2.getColumnModel().getColumn(0).setPreferredWidth(100);
        jTable2.getColumnModel().getColumn(1).setPreferredWidth(30);
        jTable2.setValueAt("Jugador1", 0, 0);
        jTable2.setValueAt("Jugador2", 1, 0);
        jTable2.setValueAt(1, 0, 1);
        jTable2.setValueAt(2, 1, 1);

        jList1.setVisibleRowCount(4);

        jList1.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Jugador3", "Jugador4", "Jugador6", "Jugador7", "Jugador8", "Jugador9", "Jugador10" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jScrollPane4.setViewportView(jList1);
        jList1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        Boton_Agregar.setText("Agregar");
        Boton_Agregar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_AgregarActionPerformed(evt);
            }
        });

        Boton_Quitar.setText("Quitar");

        Boton_Cancel.setText("Cancel");
        Boton_Cancel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_CancelActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jFrame1Layout = new javax.swing.GroupLayout(jFrame1.getContentPane());
        jFrame1.getContentPane().setLayout(jFrame1Layout);
        jFrame1Layout.setHorizontalGroup(
            jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jFrame1Layout.createSequentialGroup()
                .addGap(28, 28, 28)
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(138, 138, 138)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 265, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(33, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jFrame1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(Boton_Agregar)
                .addGap(48, 48, 48)
                .addComponent(Boton_Quitar)
                .addGap(40, 40, 40)
                .addComponent(Boton_Cancel)
                .addGap(143, 143, 143))
        );
        jFrame1Layout.setVerticalGroup(
            jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jFrame1Layout.createSequentialGroup()
                .addGap(35, 35, 35)
                .addGroup(jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(39, 39, 39)
                .addGroup(jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Boton_Agregar)
                    .addComponent(Boton_Quitar)
                    .addComponent(Boton_Cancel))
                .addContainerGap(106, Short.MAX_VALUE))
        );

        setPreferredSize(new java.awt.Dimension(750, 532));

        jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Recursos/FCBGranada2.PNG"))); // NOI18N
        jLabel2.setText("jLabel2");

        jLabel3.setFont(new java.awt.Font("Andalus", 1, 24)); // NOI18N
        jLabel3.setText("FUNDACION CLUB BALONCESTO GRANADA");

        nombreEquipo.setText("Nombre Del Equipo: ");

        generoEquipo.setText("Genero");

        jRadioButton1.setText("M");
        jRadioButton1.setEnabled(false);

        jRadioButton2.setText("F");
        jRadioButton2.setEnabled(false);

        categoria.setText("Categoria");

        categoriaEquipo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Benjamin", "Alevin", "Infantil", "Cadete", "Junior" }));
        categoriaEquipo.setEditable(false);
        categoriaEquipo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                categoriaEquipoActionPerformed(evt);
            }
        });

        textoExito.setVisible(false);

        estadoEquipo.setText("Estado");

        boton_estado_1.setText("activo");
        boton_estado_1.setEnabled(false);

        boton_estado_2.setText("baja");
        boton_estado_2.setEnabled(false);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap(20, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(nombreEquipo)
                    .addComponent(categoria, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(generoEquipo, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(estadoEquipo, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(texto_NombreEquipo, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(boton_estado_1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(boton_estado_2)
                        .addGap(102, 102, 102)
                        .addComponent(textoExito, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(categoriaEquipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jRadioButton1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jRadioButton2))))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(15, 15, 15)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(nombreEquipo, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(texto_NombreEquipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(30, 30, 30)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(categoriaEquipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(categoria, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(32, 32, 32)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jRadioButton1)
                    .addComponent(jRadioButton2)
                    .addComponent(generoEquipo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(textoExito, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(boton_estado_1)
                        .addComponent(boton_estado_2)
                        .addComponent(estadoEquipo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addContainerGap())
        );

        Boton_Anadir.setText("Añadir");
        Boton_Anadir.setVisible(false);
        Boton_Anadir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_AnadirActionPerformed(evt);
            }
        });

        Boton_Cancelar.setText("Cancelar");
        Boton_Cancelar.setVisible(false);
        Boton_Cancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_CancelarActionPerformed(evt);
            }
        });

        Boton_Anadir_Jugador.setText("Añadir Jugador");
        Boton_Anadir_Jugador.setVisible(true);
        Boton_Anadir_Jugador.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Anadir_JugadorActionPerformed(evt);
            }
        });

        Boton_Introducir_Equipo.setText("Introducir Equipo");
        Boton_Introducir_Equipo.setPreferredSize(new java.awt.Dimension(130, 23));
        Boton_Introducir_Equipo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Introducir_EquipoActionPerformed(evt);
            }
        });

        Boton_Consultar_Equipo.setText("Consultar Equipo");
        Boton_Consultar_Equipo.setMaximumSize(new java.awt.Dimension(115, 23));
        Boton_Consultar_Equipo.setMinimumSize(new java.awt.Dimension(115, 23));
        Boton_Consultar_Equipo.setPreferredSize(new java.awt.Dimension(130, 23));
        Boton_Consultar_Equipo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Consultar_EquipoActionPerformed(evt);
            }
        });

        tabla_equipos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Nombre Equipo", "Categoria"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        tabla_equipos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tabla_equiposMouseClicked(evt);
            }
        });
        tabla_equipos.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                tabla_equiposKeyReleased(evt);
            }
        });
        jScrollPane1.setViewportView(tabla_equipos);
        tabla_equipos.getColumnModel().getColumn(0).setPreferredWidth(50);
        tabla_equipos.getColumnModel().getColumn(1).setPreferredWidth(30);

        Boton_Modificar_Equipo.setText("Modificar Equipo");
        Boton_Modificar_Equipo.setMaximumSize(new java.awt.Dimension(115, 23));
        Boton_Modificar_Equipo.setMinimumSize(new java.awt.Dimension(115, 23));
        Boton_Modificar_Equipo.setPreferredSize(new java.awt.Dimension(130, 23));
        Boton_Modificar_Equipo.setEnabled(false);
        Boton_Modificar_Equipo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Modificar_EquipoActionPerformed(evt);
            }
        });

        jTable_Ent.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null},
                {null, null}
            },
            new String [] {
                "Title 1", "Title 2"
            }
        ));
        jScrollPane3.setViewportView(jTable_Ent);

        Boton_Añadir_Ent_Pri.setText("Añadir Primero");
        Boton_Añadir_Ent_Pri.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Añadir_Ent_PriActionPerformed(evt);
            }
        });

        Boton_Añadir_Ent_Seg.setText("Añadir Segundo");
        Boton_Añadir_Ent_Seg.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Añadir_Ent_SegActionPerformed(evt);
            }
        });

        Ent_Prin.setEditable(false);
        Ent_Prin.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Ent_PrinActionPerformed(evt);
            }
        });

        Ent_Seg.setEditable(false);

        Boton_Eliminar_Pri.setText("Eliminar Primero");
        Boton_Eliminar_Pri.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Eliminar_PriActionPerformed(evt);
            }
        });

        Boton_Eliminar_Seg.setText("Eliminar Segundo");
        Boton_Eliminar_Seg.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Eliminar_SegActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(Ent_Prin, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(Ent_Seg, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(Boton_Añadir_Ent_Seg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Boton_Añadir_Ent_Pri, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(Boton_Eliminar_Pri, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Boton_Eliminar_Seg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(Ent_Prin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(Boton_Añadir_Ent_Pri, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addComponent(Boton_Eliminar_Pri, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE))
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(Ent_Seg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(Boton_Añadir_Ent_Seg, javax.swing.GroupLayout.DEFAULT_SIZE, 36, Short.MAX_VALUE)))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(Boton_Eliminar_Seg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addContainerGap(19, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                .addContainerGap())
        );

        jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {Boton_Añadir_Ent_Pri, Boton_Añadir_Ent_Seg});

        Boton_Anadir_Entrenador.setText("Añadir Entrenador");
        Boton_Anadir_Entrenador.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Boton_Anadir_EntrenadorActionPerformed(evt);
            }
        });

        jTable_Aptos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null},
                {null, null},
                {null, null},
                {null, null}
            },
            new String [] {
                "Nombre", "Apellidos"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jTable_Aptos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTable_AptosMouseClicked(evt);
            }
        });
        tabla_aptos.setViewportView(jTable_Aptos);

        Añadir.setText("Añadir");
        Añadir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AñadirActionPerformed(evt);
            }
        });

        Quitar.setText("Eliminar");
        Quitar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                QuitarActionPerformed(evt);
            }
        });

        tabla_equipo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tabla_equipoMouseClicked(evt);
            }
        });

        jTable_Asignados.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null},
                {null, null, null},
                {null, null, null},
                {null, null, null}
            },
            new String [] {
                "Nombre", "Apellidos", "Dorsal"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.Integer.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jTable_Asignados.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTable_AsignadosMouseClicked(evt);
            }
        });
        tabla_equipo.setViewportView(jTable_Asignados);

        Dorsal.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" }));
        Dorsal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                DorsalActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addComponent(tabla_aptos, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(Añadir, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Quitar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Dorsal, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addComponent(tabla_equipo, javax.swing.GroupLayout.PREFERRED_SIZE, 304, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(15, 15, 15))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(7, 7, 7)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addComponent(Añadir)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(Dorsal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(Quitar))
                    .addComponent(tabla_equipo, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE)
                    .addComponent(tabla_aptos, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
                .addGap(0, 0, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(Boton_Introducir_Equipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(Boton_Consultar_Equipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(Boton_Modificar_Equipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(68, 68, 68)
                                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(47, 47, 47)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 229, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(layout.createSequentialGroup()
                                                .addGap(31, 31, 31)
                                                .addComponent(Boton_Anadir)
                                                .addGap(50, 50, 50)
                                                .addComponent(Boton_Cancelar))
                                            .addGroup(layout.createSequentialGroup()
                                                .addComponent(Boton_Anadir_Jugador)
                                                .addGap(18, 18, 18)
                                                .addComponent(Boton_Anadir_Entrenador)))))))
                        .addGap(18, 18, Short.MAX_VALUE)
                        .addComponent(label_genero)
                        .addGap(469, 469, 469))
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 540, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
            .addGroup(layout.createSequentialGroup()
                .addGap(175, 175, 175)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel3)
                    .addComponent(jLabel2))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(44, 44, 44)
                        .addComponent(Boton_Introducir_Equipo, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(13, 13, 13)
                        .addComponent(Boton_Consultar_Equipo, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(Boton_Modificar_Equipo, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(127, 127, 127)
                        .addComponent(label_genero, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(31, 31, 31)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(Boton_Cancelar)
                            .addComponent(Boton_Anadir))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(Boton_Anadir_Jugador)
                            .addComponent(Boton_Anadir_Entrenador))))
                .addGap(18, 18, 18)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
    }// </editor-fold>//GEN-END:initComponents

    public static InterfazEquipo getInstancia() {
        if (instancia==null){
            instancia = new InterfazEquipo();            
        }
        return instancia;
    }
    
    public void inicializar(Boolean es_gestor) {
        this.limpiar();
        if (jScrollPane1.isVisible()) { // Si la tabla es visible la escondemos
            jScrollPane1.setVisible(false);
        }
        if (Boton_Modificar_Equipo.isEnabled()) {   // Si el boton de Modificar Equipo es habilitado lo desabilitamos
            Boton_Modificar_Equipo.setEnabled(false);
        }
        if(Boton_Anadir_Jugador.isVisible()){
            Boton_Anadir_Jugador.setVisible(false);
        }
        if(Boton_Anadir_Entrenador.isVisible()){
            Boton_Anadir_Entrenador.setVisible(false);
        }
        inicio();
        if (es_gestor) 
            Boton_Introducir_Equipo.setVisible(true);
        else
            Boton_Introducir_Equipo.setVisible(false);
        jPanel2.setVisible(false);
    }
    
    private void Boton_AnadirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_AnadirActionPerformed
        if (Boton_Anadir.getText().equals("Añadir")) {            
            // Obtenemos los datos del formulario
            String[] datos = new String[4];
            datos[0] = texto_NombreEquipo.getText();                // Obtenemos el nombre        
            datos[1] = (String)categoriaEquipo.getSelectedItem();   // Obtenemos la categoria  
            
            if(jRadioButton1.isSelected())                          // Obtenemos la Genero del equipo
                datos[2] = "M";
            else if (jRadioButton2.isSelected())
                datos[2] = "F";
            else {
                // Taratamiento del error
            }
            
            if(boton_estado_1.isSelected())                         // Obtenemos el estado del equipo
                datos[3] = "activo";
            else if(boton_estado_2.isSelected())
                datos[3] = "baja";
            else {
                // Taratamiento del error
            }
            Boolean anadido = ControladorEquipo.getInstancia().addEquipo(datos);
            if (anadido) {
                Boton_Modificar_Equipo.setEnabled(true);
                inicio();
            }
        }
        else if(Boton_Anadir.getText().equals("Consultar")) {
            // Obtenemos los datos del formulario
            String[] datos = new String[2];
            datos[0] = texto_NombreEquipo.getText();                // Obtenemos el nombre        
            datos[1] = (String)categoriaEquipo.getSelectedItem();
            Boolean obtenido = ControladorEquipo.getInstancia().getEquipos(datos[0],datos[1]);
            if (obtenido) {
                inicio();
                tabla_equipos.setRowSelectionInterval(0, 0);
                Boton_Modificar_Equipo.setEnabled(true);
            }
        }
        else if(Boton_Anadir.getText().equals("Modificar")) {
            String[] datos = new String[4];
            datos[0] = texto_NombreEquipo.getText();
            datos[1] = (String)categoriaEquipo.getSelectedItem();
            if(jRadioButton1.isSelected())                          // Obtenemos la Genero del equipo
                datos[2] = "M";
            else if (jRadioButton2.isSelected())
                datos[2] = "F";
            else 
                datos[2] = "";
            
            if(boton_estado_1.isSelected())                         // Obtenemos el estado del equipo
                datos[3] = "activo";
            else if(boton_estado_2.isSelected())
                datos[3] = "baja";
            else
                datos[3] = "";
            
            Boolean modificado = ControladorEquipo.getInstancia().updateEquipo(datos);
            if (modificado) {
                inicio();
                if (ControladorEquipo.getInstancia().refrescarEquipo(null)) {
                    Boton_Modificar_Equipo.setEnabled(true);
                    if (tabla_equipos.getRowCount() > 0) {
                        this.addEquipoTabla(this.tabla_equipos.getSelectedRow(), this.texto_NombreEquipo.getText(), (String)this.categoriaEquipo.getSelectedItem());
                    }
                }
                else {
                    this.limpiar();
                    Boton_Modificar_Equipo.setEnabled(false);
                }                                
            }                        
        }
    }//GEN-LAST:event_Boton_AnadirActionPerformed

    private void Boton_CancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_CancelarActionPerformed
       inicio();             
       if (ControladorEquipo.getInstancia().refrescarEquipo(null)) {
           Boton_Modificar_Equipo.setEnabled(true);
       }
       else {
           Boton_Modificar_Equipo.setEnabled(false);
           this.limpiar();
       }
       
       if(Boton_Anadir_Jugador.isVisible()){
            Boton_Anadir_Jugador.setVisible(false);
        }
       if(Boton_Anadir_Entrenador.isVisible()){
           Boton_Anadir_Entrenador.setVisible(false);
       }
    }//GEN-LAST:event_Boton_CancelarActionPerformed

    private void Boton_Introducir_EquipoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Introducir_EquipoActionPerformed
        this.limpiar();
        Boton_Introducir_Equipo.setEnabled(false);
        Boton_Consultar_Equipo.setEnabled(false);
        Boton_Modificar_Equipo.setEnabled(false);
        Boton_Anadir.setText("Añadir");
        jScrollPane1.setVisible(false);
        estadoBotones(true);
        activarNombre_y_Categoria(true);
        activarGenero_y_Estado(true);        
    }//GEN-LAST:event_Boton_Introducir_EquipoActionPerformed

    private void Boton_Consultar_EquipoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Consultar_EquipoActionPerformed
        this.limpiar();        
        Boton_Introducir_Equipo.setEnabled(false);
        Boton_Consultar_Equipo.setEnabled(false);
        Boton_Modificar_Equipo.setEnabled(false);
        jScrollPane1.setVisible(false);
        activarNombre_y_Categoria(true);
        Boton_Anadir.setText("Consultar");
        estadoBotones(true);
    }//GEN-LAST:event_Boton_Consultar_EquipoActionPerformed

    private void Boton_Anadir_JugadorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Anadir_JugadorActionPerformed

        this.cargarJugadores();
    }//GEN-LAST:event_Boton_Anadir_JugadorActionPerformed

    private void Boton_AgregarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_AgregarActionPerformed
        String dorsal = JOptionPane.showInputDialog("Introduzca el Dorsal del jugador");         
        DefaultTableModel modelo = (DefaultTableModel) jTable2.getModel();
        modelo.addRow(new Object[filas]);        
        jTable2.setValueAt(jList1.getSelectedValue(), filas, 0);
        jTable2.setValueAt(dorsal, filas, 1);
        filas++;       
    }//GEN-LAST:event_Boton_AgregarActionPerformed

    private void Boton_CancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_CancelActionPerformed
        jFrame1.dispose();
    }//GEN-LAST:event_Boton_CancelActionPerformed

    private void tabla_equiposKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tabla_equiposKeyReleased
        ControladorEquipo.getInstancia().refrescarEquipo(tabla_equipos.getSelectedRow());
    }//GEN-LAST:event_tabla_equiposKeyReleased

    private void tabla_equiposMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabla_equiposMouseClicked
        ControladorEquipo.getInstancia().refrescarEquipo(tabla_equipos.getSelectedRow());
    }//GEN-LAST:event_tabla_equiposMouseClicked

    private void Boton_Modificar_EquipoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Modificar_EquipoActionPerformed
        Boton_Introducir_Equipo.setEnabled(false);
        Boton_Consultar_Equipo.setEnabled(false);
        Boton_Modificar_Equipo.setEnabled(false);
                        Boton_Anadir_Jugador.setVisible(true);
                        Boton_Anadir_Entrenador.setVisible(true);

        Boton_Anadir.setText("Modificar");
        estadoBotones(true);
        activarNombre_y_Categoria(true);
        activarGenero_y_Estado(true); 
        if (!jScrollPane1.isVisible()) {    // si la tabla no es visible la visualizamos
            jScrollPane1.setVisible(true);
        }
    }//GEN-LAST:event_Boton_Modificar_EquipoActionPerformed

    private void Boton_Añadir_Ent_PriActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Añadir_Ent_PriActionPerformed
        // TODO add your handling code here:
        int accion;
        if(Ent_Prin.getText().equals("") && Ent_Seg.getText().equals("")){
            accion=0;
        }
        else{
        
            accion =1;
        }
        ControladorEquipo.getInstancia().addEntrenador( jTable_Ent.getSelectedRow() ,0, accion);
        
        cargarEntrenadores();
    }//GEN-LAST:event_Boton_Añadir_Ent_PriActionPerformed

    private void Boton_Anadir_EntrenadorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Anadir_EntrenadorActionPerformed
        // TODO add your handling code here:
        this.cargarEntrenadores();
    }//GEN-LAST:event_Boton_Anadir_EntrenadorActionPerformed

    private void Ent_PrinActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Ent_PrinActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_Ent_PrinActionPerformed

    private void Boton_Añadir_Ent_SegActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Añadir_Ent_SegActionPerformed
        // TODO add your handling code here:
        int accion;
        if(Ent_Prin.getText().equals("") && Ent_Seg.getText().equals("")){
            accion=0;
        }
        else{
        
            accion =1;
        }
        ControladorEquipo.getInstancia().addEntrenador( jTable_Ent.getSelectedRow() ,1, accion);
        
        cargarEntrenadores();
    }//GEN-LAST:event_Boton_Añadir_Ent_SegActionPerformed

    private void Boton_Eliminar_PriActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Eliminar_PriActionPerformed
        // TODO add your handling code here:
        if(Ent_Prin.getText().equals("")){
        
        }
        else{
        
            if(Ent_Seg.getText().equals("")){
               ControladorEquipo.getInstancia().deleteEntrenador( 0,0);
            }
            else{
                ControladorEquipo.getInstancia().deleteEntrenador( 0,1);
            }
        }
        cargarEntrenadores();
    }//GEN-LAST:event_Boton_Eliminar_PriActionPerformed

    private void Boton_Eliminar_SegActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Boton_Eliminar_SegActionPerformed
        // TODO add your handling code here:
        if(Ent_Seg.getText().equals("")){
        
        }
        else{
        
            if(Ent_Prin.getText().equals("")){
               ControladorEquipo.getInstancia().deleteEntrenador( 1,0);
            }
            else{
                ControladorEquipo.getInstancia().deleteEntrenador( 1,1);
            }
        }
        cargarEntrenadores();
    }//GEN-LAST:event_Boton_Eliminar_SegActionPerformed

    private void AñadirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AñadirActionPerformed
      
        int aux = Dorsal.getSelectedIndex();
        
        if(ControladorEquipo.getInstancia().dorsalAsignado(aux+1)){//Si el dorsal no esta asignado
            ControladorEquipo.getInstancia().add_Jugador_Equipo(aux+1,/*pos. Jugador*/   jTable_Aptos.getSelectedRow());   
              //  InterfazEquipo.getInstancia().mostrarMensaje("éxito en la asignacion", "Asignar Dorsal", 1);
           // this.cargarJugadores();
        }else{     
                InterfazEquipo.getInstancia().mostrarMensaje("Error en la asignacion", " Dorsal imposible de asignar", 0);
            }
            
            
       
    }//GEN-LAST:event_AñadirActionPerformed

    private void jTable_AptosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable_AptosMouseClicked
        // TODO add your handling code here:
        Añadir.setEnabled(true);
    }//GEN-LAST:event_jTable_AptosMouseClicked

    private void jTable_AsignadosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable_AsignadosMouseClicked
        // TODO add your handling code here:
        Quitar.setEnabled(true);

    }//GEN-LAST:event_jTable_AsignadosMouseClicked

    private void categoriaEquipoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_categoriaEquipoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_categoriaEquipoActionPerformed

    private void QuitarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_QuitarActionPerformed
        // TODO add your handling code here:
        
        
        ControladorEquipo.getInstancia().delete_Jugador_Equipo(jTable_Asignados.getSelectedRow());
        

        //this.cargarJugadores();

    }//GEN-LAST:event_QuitarActionPerformed

    private void DorsalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DorsalActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_DorsalActionPerformed

    private void tabla_equipoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabla_equipoMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_tabla_equipoMouseClicked

    public void inicio() {
        Boton_Introducir_Equipo.setEnabled(true);
        Boton_Consultar_Equipo.setEnabled(true);
        estadoBotones(false);
        activarNombre_y_Categoria(false);
        activarGenero_y_Estado(false); 
        jPanel2.setVisible(false);
        jPanel3.setVisible(false);
    }
    
    public void estadoBotones(Boolean valor) {
        Boton_Anadir.setVisible(valor);
        Boton_Cancelar.setVisible(valor);
    }
    
    
    /**
     * @brief activa o desactiva el los campos texto_NombreEquipo y categoriaEquipo
     * @param valor es booleano para especificar la activacon o desactivacion
     * @return void
     */
    public void activarNombre_y_Categoria(Boolean valor) {
        texto_NombreEquipo.setEditable(valor);
        //categoriaEquipo.setEditable(valor);
        categoriaEquipo.setEnabled(valor);
    }
    
    /**
     * @brief activa o desactiva los radio_botones
     * @param valor es booleano para especificar la activacon o desactivacion
     * @return void
     */
    public void activarGenero_y_Estado(Boolean valor) {
        jRadioButton1.setEnabled(valor);
        jRadioButton2.setEnabled(valor);      
        boton_estado_1.setEnabled(valor);
        boton_estado_2.setEnabled(valor);
    }
        
    public void limpiar() {
        texto_NombreEquipo.setText("");
        jRadioButton1.setSelected(false);
        jRadioButton2.setSelected(false);
        categoriaEquipo.setSelectedIndex(0); 
        grupo_botones.clearSelection();
        grupo_botones_estado.clearSelection();
    }
   
    
    public void activarTabla(Boolean valor) {
        jScrollPane1.setVisible(valor);
    }
    
    public void eliminar_Filas_tabla () {
        DefaultTableModel modelo = (DefaultTableModel)tabla_equipos.getModel(); 
        int count = tabla_equipos.getRowCount();
        
        if (count > 0) {         // Si la tabla tiene una fila o mas
            for (int i=0; i<count; i++) {       // eliminamos las filas de la tabla
                modelo.removeRow(modelo.getRowCount()-1);
            }
        }
    }
    
    public void set_Filas_tabla(Integer num_filas) {
        DefaultTableModel modelo = (DefaultTableModel)tabla_equipos.getModel();

        eliminar_Filas_tabla();
        for (int i=0; i<num_filas; i++) {   // Establecemos el nuevo numero de filas
            modelo.addRow(new Object[i]);
        }
    }
    
    public void addEquipoTabla(int fila, String nombre, String categoria) {
       tabla_equipos.setValueAt(nombre, fila, 0);
       tabla_equipos.setValueAt(categoria, fila, 1);
    }
    
    /**
     * Método que muestra los datos de un Equipo en la interfaz
     * @param nombre Nombre del equipo  
     * @param cat categoria del equipo
     * @param genero genero del equipo : M o F
     * @param estado estado del equipo: activo o baja
     * @return void
     */    
    public void mostrarEquipo(String nombre, String cat, String genero, String estado) {
        // Rellenamos los campos
        texto_NombreEquipo.setText(nombre);
        categoriaEquipo.setSelectedItem(cat);
        
        if (genero.equals("M")) 
            jRadioButton1.setSelected(true);
        else
            jRadioButton2.setSelected(true);
        
        if (estado.equals("activo"))
            boton_estado_1.setSelected(true);
        else
            boton_estado_2.setSelected(true);
    }
    
     /**
     * Método que muestra un mensaje al usuario
     * @param mensaje String con el contenido del mensaje
     * @param tituto String con el título de la ventana de mensaje
     * @param tipo int con el tipo de icono a mostrar en el mensaje
     * @return void
     */
    public void mostrarMensaje(String mensaje, String titulo, int tipo) {
        JOptionPane.showMessageDialog(null, mensaje, titulo, tipo);
    }
    
    public void cargarEntrenadores(){
        jPanel2.setVisible(true);
        Boton_Añadir_Ent_Pri.setText("Añadir Primer");
        ControladorEquipo.getInstancia().getEntrenadores_Equipos(   );
    }
    
    public void MostrarEntrenadores( ArrayList<Usuario> entrenadores, Entrena entrena){
        // Modificar JTABLE 
        String [] columnas = {"Nombre","Apellidos"};
        
        Object[][] m = new Object[entrenadores.size()][columnas.length];
        jTable_Ent.setModel(new DefaultTableModel(m,columnas));
        
        
        
        for (int i=0; i < entrenadores.size(); ++i){
        
            jTable_Ent.setValueAt(entrenadores.get(i).getNombre(), i, 0);
            jTable_Ent.setValueAt(entrenadores.get(i).getApellidos(), i, 1);
        }
       
        Ent_Prin.setText(entrena.getIdEntrenadorP().getNombre());
        Ent_Seg.setText(entrena.getIdEntrenadorS().getNombre());
    }

    
    
    
    
    
    public void cargarJugadores(){
        jPanel3.setVisible(true); 
        Añadir.setEnabled(false);
        Quitar.setEnabled(false);
        ControladorEquipo.getInstancia().getLibres_Asignados_Equipos( );
    
    }
    
    
    public void MostrarJugadoresEquipo( ArrayList<Jugador> lista_jug_libres,   ArrayList<Juega> lista_jug_equipo ){
        // Modificar JTABLE 
        String [] columnas1 = {"Nombre","Apellidos"};
        String [] columnas2 = {"Nombre","Apellidos","Dorsal"};

        
        Object[][] m1 = new Object[lista_jug_libres.size()][columnas1.length];
        jTable_Aptos.setModel(new DefaultTableModel(m1,columnas1));
        
        Object[][] m2 = new Object[lista_jug_libres.size()][columnas2.length];
        jTable_Asignados.setModel(new DefaultTableModel(m2,columnas2));
        
        
        // Tabla de jugadores libres.

        if(lista_jug_libres.size() != 0){
            for (int i=0; i < lista_jug_libres.size(); ++i){
                jTable_Aptos.setValueAt(lista_jug_libres.get(i).getNombre(), i, 0);
                jTable_Aptos.setValueAt(lista_jug_libres.get(i).getApellidos(), i, 1);
            }
        }
        
        
        // Tabla de jugadores libres.
        if(lista_jug_equipo.size() != 0){
            for (int i=0; i < lista_jug_equipo.size(); ++i){
                jTable_Asignados.setValueAt(lista_jug_equipo.get(i).jugador.getNombre(), i, 0);
                jTable_Asignados.setValueAt(lista_jug_equipo.get(i).jugador.getApellidos(), i, 1);
                jTable_Asignados.setValueAt(lista_jug_equipo.get(i).getDorsal(), i, 2);
            }
        }
    }
    
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton Añadir;
    private javax.swing.JButton Boton_Agregar;
    private javax.swing.JButton Boton_Anadir;
    private javax.swing.JToggleButton Boton_Anadir_Entrenador;
    private javax.swing.JButton Boton_Anadir_Jugador;
    private javax.swing.JButton Boton_Añadir_Ent_Pri;
    private javax.swing.JButton Boton_Añadir_Ent_Seg;
    private javax.swing.JButton Boton_Cancel;
    private javax.swing.JButton Boton_Cancelar;
    private javax.swing.JButton Boton_Consultar_Equipo;
    private javax.swing.JButton Boton_Eliminar_Pri;
    private javax.swing.JButton Boton_Eliminar_Seg;
    private javax.swing.JButton Boton_Introducir_Equipo;
    private javax.swing.JButton Boton_Modificar_Equipo;
    private javax.swing.JButton Boton_Quitar;
    private javax.swing.JComboBox Dorsal;
    private javax.swing.JTextField Ent_Prin;
    private javax.swing.JTextField Ent_Seg;
    private javax.swing.JButton Quitar;
    private javax.swing.JRadioButton boton_estado_1;
    private javax.swing.JRadioButton boton_estado_2;
    private javax.swing.JLabel categoria;
    private javax.swing.JComboBox categoriaEquipo;
    private javax.swing.JLabel estadoEquipo;
    private javax.swing.JLabel generoEquipo;
    private javax.swing.ButtonGroup grupo_botones;
    private javax.swing.ButtonGroup grupo_botones_estado;
    private javax.swing.JFrame jFrame1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JList jList1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JRadioButton jRadioButton1;
    private javax.swing.JRadioButton jRadioButton2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JTable jTable2;
    private javax.swing.JTable jTable_Aptos;
    private javax.swing.JTable jTable_Asignados;
    private javax.swing.JTable jTable_Ent;
    private javax.swing.JLabel label_genero;
    private javax.swing.JLabel nombreEquipo;
    private javax.swing.JScrollPane tabla_aptos;
    private javax.swing.JScrollPane tabla_equipo;
    private javax.swing.JTable tabla_equipos;
    private javax.swing.JLabel textoExito;
    private javax.swing.JTextField texto_NombreEquipo;
    // End of variables declaration//GEN-END:variables
}
